Annotating three-dimensional displays

ABSTRACT

Methods, systems, and devices for annotating three-dimensional displays are described herein. One method includes displaying, by a computing device, a particular view of a 3D model of a facility, the 3D model including a plurality of objects, each object associated with a respective annotation, determining a context associated with the 3D model, and displaying a subset of the plurality of annotations associated with a respective subset of the plurality of objects based on the context.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority to PCT Application No.PCT/CN2014/085143, filed Aug. 26, 2014, which is incorporated herein byreference in its entirety.

TECHNICAL FIELD

The present disclosure relates to methods, systems, and devices forannotating three-dimensional displays.

BACKGROUND

A facility (e.g., a building, plant, refinery, etc.) can have a BuildingInformation Model (e.g., BIM) associated with it. The BIM can be adigital representation of the physical and/or functional characteristicsof the facility, for instance. Included in the BIM can be athree-dimensional (3D) model (e.g., representation, display, etc.) ofthe facility. The 3D model can show the layout of the facility,including spaces (e.g., rooms). The 3D model can include a number ofobjects (e.g., solid shapes and/or void-space oriented) that may carrytheir geometry (e.g., size, shape, dimensions, etc.), relations and/orproperties (e.g., name, material, producer, type, etc.). For example,objects in the BIM can represent structural portions of the facilityand/or devices therein.

When the 3D model is displayed, properties of objects may be displayedtherein using text annotations. Similarly, state descriptions (e.g.,real-time information, such as temperature, alarm(s), occupancy, etc.)of objects can be displayed using text annotations.

Previous approaches to annotating 3D displays may fix annotations to a“floor” or a “wall” of the 3D model, for instance. However, fixedannotations may become unreadable and/or disappear entirely if the modelis rotated, causing object(s) to obscure them. Additionally, previousapproaches to annotating 3D displays may encounter issues associatedwith annotations collapsing on one another as the display is zoomed out,for example, as well as other visual continuity issues (e.g., loss ofcontext awareness) arising from user manipulation of the model.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system for annotating a 3D display in accordancewith one or more embodiments of the present disclosure.

FIG. 2 illustrates an example display of a portion of an annotated 3Ddisplay in accordance with one or more embodiments of the presentdisclosure.

FIG. 3 illustrates another example display of a portion of an annotated3D display in accordance with one or more embodiments of the presentdisclosure.

FIG. 4 illustrates another example display of a portion of an annotated3D display in accordance with one or more embodiments of the presentdisclosure.

FIG. 5 illustrates a flow chart associated with annotating a 3D displayin accordance with one or more embodiments of the present disclosure.

FIG. 6A illustrates example annotations displayed in a particular viewof a 3D display in accordance with one or more embodiments of thepresent disclosure.

FIG. 6B illustrates an occlusion tree using the example annotations ofFIG. 6A in accordance with one or more embodiments of the presentdisclosure.

FIG. 6C illustrates offset directions for the example annotations ofFIG. 6A in accordance with one or more embodiments of the presentdisclosure.

FIG. 6D illustrates modification of display aspects of the exampleannotations of FIG. 6A in accordance with one or more embodiments of thepresent disclosure.

DETAILED DESCRIPTION

Methods, systems, and devices for annotating 3D displays are describedherein. One method includes displaying, by a computing device, aparticular view of a 3D model of a facility, the 3D model including aplurality of objects, each object associated with a respectiveannotation, determining a context associated with the 3D model, anddisplaying a subset of the plurality of annotations associated with arespective subset of the plurality of objects based on the context.

Embodiments of the present disclosure can annotate 3D displays withconsideration paid to the context of the 3D display. Whereas previousapproaches may become unreadable in certain views, embodiments of thepresent disclosure can provide annotations that adapt to rotations of a3D model, as well as varying levels of detail (e.g., zoom). Embodimentsherein allow a user to maintain context awareness and visual continuityas a 3D model is manipulated (e.g., panned, rotated, zoomed, resized,etc.).

Additionally, embodiments of the present disclosure can display and/orhighlight portions of the 3D model according to context. Context, asused herein, refers to one or more conditions affecting how one or moreannotations are to be displayed (or not displayed).

Context can be determined based on information received from a subsystemof a building management system associated with the facility. Forexample, if an alarm is present in the facility, some embodiments canallow the display (e.g., the automatic display) of annotationsassociated with portions of the 3D model corresponding to the alarm.Other portions (e.g., portions not corresponding to the alarm) can bemade invisible and/or dimmed.

Context can be determined based on user interaction with the 3D model.For example, an annotation can be displayed (or its display modified)responsive to a user clicking on, or hovering over, an object in the 3Dmodel. Other annotations associated with other objects (e.g., unselectedobjects) can be made invisible and/or dimmed.

Thus, embodiments of the present disclosure can provide context-drivenannotations that allow a user to visualize pertinent and/or desiredinformation rather than an overabundance of annotations without anycontext that may be prevalent in previous approaches. Additionally, someembodiments can annotate the 3D display without occlusions caused byannotations. In contrast to previous approaches where annotations mayoverlap in certain views rendering them unreadable, embodimentsdescribed herein can provide annotations that are readable irrespectiveof view.

In some embodiments, annotations that would otherwise be occluded can beoffset (e.g., relocated) and linked to their corresponding object, forinstance, by a line (e.g., line segment). In other embodiments,annotations that would otherwise occlude other annotations can bedimmed.

To avoid visual discontinuities, embodiments of the present disclosurecan take into account a layout of a previous frame of the 3D model whilea user is manipulating the 3D model. Accordingly, users can maintaincontext awareness as they interact with the 3D model because, forexample, users can visualize any changes (e.g., movement, resizing,color changing, etc.) to annotations as they occur.

In the following detailed description, reference is made to theaccompanying drawings that form a part hereof. The drawings show by wayof illustration how one or more embodiments of the disclosure may bepracticed.

These embodiments are described in sufficient detail to enable those ofordinary skill in the art to practice one or more embodiments of thisdisclosure. It is to be understood that other embodiments may beutilized and that process changes may be made without departing from thescope of the present disclosure.

As will be appreciated, elements shown in the various embodiments hereincan be added, exchanged, combined, and/or eliminated so as to provide anumber of additional embodiments of the present disclosure. Theproportion and the relative scale of the elements provided in thefigures are intended to illustrate the embodiments of the presentdisclosure, and should not be taken in a limiting sense.

The figures herein follow a numbering convention in which the firstdigit or digits correspond to the drawing figure number and theremaining digits identify an element or component in the drawing.Similar elements or components between different figures may beidentified by the use of similar digits.

As used herein, “a” or “a number of” something can refer to one or moresuch things. For example, “a number of objects” can refer to one or moreobjects.

FIG. 1 illustrates a system 100 for annotating a 3D display inaccordance with one or more embodiments of the present disclosure. Asshown in FIG. 1, system 100 includes a computing device 102communicatively coupled to a facility 106. A communicative coupling canallow data to be communicated in either direction between the computingdevice 102 and the facility 104. Though the computing device 102 isshown as being separate from the facility 104, embodiments of thepresent disclosure are not so limited. That is, computing device 102 canbe located within the facility 104, for example.

As shown in the embodiment illustrated in FIG. 1, the computing device102 can include a memory 106 and a processor 108. Memory 106 can be anytype of storage medium that can be accessed by processor 108 to performvarious examples of the present disclosure. For example, memory 106 canbe a non-transitory computer readable medium having computer readableinstructions (e.g., computer program instructions) stored thereon thatare executable by processor 108 for annotating a 3D display inaccordance with one or more embodiments of the present disclosure.

Memory 106 can be volatile or nonvolatile memory. Memory 106 can also beremovable (e.g., portable) memory, or non-removable (e.g., internal)memory. For example, memory 106 can be random access memory (RAM) (e.g.,dynamic random access memory (DRAM) and/or phase change random accessmemory (PCRAM)), read-only memory (ROM) (e.g., electrically erasableprogrammable read-only memory (EEPROM) and/or compact-disc read-onlymemory (CD-ROM)), flash memory, a laser disc, a digital versatile disc(DVD) or other optical disk storage, and/or a magnetic medium such asmagnetic cassettes, tapes, or disks, among other types of memory.

Further, although memory 106 is illustrated as being located incomputing device 102, embodiments of the present disclosure are not solimited. For example, memory 106 can also be located internal to anothercomputing resource (e.g., enabling computer readable instructions to bedownloaded over the Internet or another wired or wireless connection).

Memory 106 can store a building information model (BIM) 112 associatedwith the facility 104. The BIM 112 can be a digital representation ofthe physical and/or functional characteristics of the facility 104, forinstance. Included in the BIM 112 can be a 3D model (e.g.,representation, display, etc.) of the facility 104. The 3D model canshow the layout of the facility 104, including spaces (e.g., rooms). The3D model can include a number of objects (e.g., solid shapes and/orvoid-space oriented) that may carry their geometry (e.g., size, shape,dimensions, etc.), relations and/or properties (e.g., name, material,producer, type, etc.). For example, objects in the BIM 112 can representstructural portions of the facility 104 and/or devices therein.

Computing device 102 includes a display 110. The display 110 (e.g.,screen) can be configured to display one or more embodiments herein forinstance. Though display 110 is shown as being included in computingdevice 102, display 110 can be external to computing device 102.

In some embodiments, the display 110 can be a head-mounted display(HMD), for instance (e.g., head-mounted glasses). In other embodiments,the display 110 can be a video wall. In other embodiments, the display110 can be a mobile device (e.g., mobile phone, tablet, personal digitalassistant (PDA), etc.). In various embodiments, more than one displaycan be utilized. The display 110 can be, for instance, a touch-screen(e.g., the display can include touch-screen capabilities).

The display 110 can provide (e.g., display and/or present) informationto a user (e.g., a user using computing device 102). Computing device102 can receive information from a user through an interaction with theuser via the display 110. For example, computing device 102 can receiveinputs from the user via the display 110. The user can enter the inputinto computing device 102 using, for instance, a mouse and/or keyboardassociated with computing device 102, or by touching the display inembodiments in which the display includes touch-screen capabilities(e.g., embodiments in which the display is a touch screen).

FIG. 2 illustrates an example display 214 of a portion of an annotated3D display in accordance with one or more embodiments of the presentdisclosure. As previously discussed, embodiments of the presentdisclosure can display and/or highlight portions of the 3D modelaccording to context. In the example illustrated in FIG. 2, the contextis being provided (e.g., determined) based on user inputs.

Display 214 includes an applications icon 216. A user can select theapplications icon 216 by the actuation of an input device (e.g., a mouseclick). Responsive to the selection, a menu 218 can be displayed. Themenu 218 can include applications (e.g., subsystems) of a buildingmanagement system associated with the facility. As shown, exampleapplications can include comfort profile, HVAC network, security, personnavigation, and building audit. It is to be understood that theapplications listed in FIG. 2 are included for purposes of illustrationand are not intended to limit embodiments of the present disclosure toparticular applications.

In the example shown, a user has selected “HVAC Network” from menu 218.That selection can cause the display of annotations associated withobjects of the HVAC network, for instance. For example, the annotation221 is displayed in association with its associated device (e.g.,“owner”), variable air volume (VAV) device 220 (a device of the HVACnetwork).

Annotations can include names and/or properties of objects. Annotationscan include state descriptions (e.g., real-time information, such astemperature, alarm(s), occupancy, etc.) of objects. Annotations can bedisplayed as “billboards” (e.g., billboard text annotations). That is,annotations can be a “sign” or a “card” that sits on the floor of thefacility vertically. Annotations can be sensitive to a rotationalposition of the 3D model. As the 3D model rotates, annotations canchange orientation to counter the rotation such that they are in areadable orientation irrespective of view.

“View,” as used herein, can refer to a particular aspect, virtualvantage point, rotational position, and/or zoom level of the 3D model. Aview can refer to an appearance of the 3D model while the 3D model is ata particular rotational position and/or zoom level. In some embodiments,a view can include a portion (e.g., a room, a wall, a device, a wing,etc.) of the facility. In other embodiments, a view can include theentire facility. A view may be horizontal, vertical (e.g., birds eye),and/or angles between. A view may be of an exterior of the facilityand/or an interior of the facility.

In some embodiments, an annotation associated with an object may not bedisplayed in a particular view if the object is not visible. That is,embodiments of the present disclosure can determine whether a particularobject is visible in a particular view and not display an annotationassociated with the particular object responsive to a determination thatthe object is not visible in the particular view. To reduce userconfusion, annotations associated with hidden (e.g., obscured) objectscan be withheld from the display.

As previously discussed, annotations can include, among otherinformation, names and/or properties of objects, as well as statedescriptions of objects. Such information can be received from a BIMassociated with the facility (e.g., BIM 112, previously described inconnection with FIG. 1). In some embodiments, the information can bereceived upon the creation and/or receipt of the BIM. In someembodiments, the information can be received as it is determined (e.g.,in real-time), for instance. The information can be received from anumber of subsystems of a building management system associated with thefacility, previously discussed. The information may be determined by anumber of devices of the subsystems, such as, for example, cameras,sensors, alarms, card readers, thermostats, etc.

In some embodiments, annotations can be displayed using differentcolors. For example, particular objects (e.g., doors) in a 3D model canbe displayed in a particular color (e.g., yellow). The coloration may bederived from the BIM. The coloration may depend on the materialconstituting the object, for instance.

Embodiments of the present disclosure can display an annotationassociated with the particular object (e.g., the door) using theparticular color (e.g., yellow). That is, embodiments can determine acolor of a particular object in the model and display an annotationassociated with the particular object using the color. Thus, the colorof the object can match the color of its annotation. The text of theannotation itself may be displayed using particular colors and/or a boxsurrounding the text may be displayed using particular colors. Whilecoloration of objects may be provided by the BIM, embodiments of thepresent disclosure can allow a user to modify and/or change colors ofobjects, subsystems, annotations, etc.

As previously discussed, the context can be determined based on anindication, made by a user, associated with a particular portion of the3D model. In some embodiments, such an indication can be made by theactuation of an input device (e.g., the clicking of a mouse on a desiredobject). In some embodiments, the indication can be made by an inputdevice remaining within the particular portion of the 3D model for aperiod of time exceeding a particular time threshold (e.g., the hoveringof the mouse over the desired object).

The user indication can cause the display of an annotation to bemodified. For example, additional information associated with the objectcan be displayed in the annotation. In another example, the annotationcan increase in dimension (e.g., be displayed in a larger font)responsive to the indication being made. In some embodiments, otherannotations associated with other objects (e.g., unselected objects) canbe made invisible and/or dimmed responsive to the indication.

The context can be determined based on information received from asubsystem of a building management system associated with the facility.The information can be determined by a number of devices of thesubsystems, such as, for example, cameras, sensors, alarms, cardreaders, thermostats, etc. In an example, an abnormal status (e.g.,temperature exceeding a threshold, alarm condition, etc.) can bedetermined. Annotations associated with objects of the subsystem can bedisplayed according to the context dictated by the information receivedfrom the subsystem.

FIG. 3 illustrates another example display 322 of a portion of anannotated 3D display in accordance with one or more embodiments of thepresent disclosure. Display 322 illustrates a different view thandisplay 214, previously discussed in connection with FIG. 2. The exampledisplay 322 illustrates another embodiment of the present disclosurewherein annotations can be linked with their associated objects (owners)by a line (e.g., line segment). Such embodiments may include instanceswhere annotations have been offset (discussed below in connection withFIGS. 5-6B), for instance, and thus may no longer be located immediatelyabove associated objects.

For instance, a first VAV device 324 is linked with a first VAV deviceannotation 325; a second VAV device 326 is linked with a second VAVdevice annotation 327; a third VAV device 328 is linked with a third VAVdevice annotation 329; and a fourth VAV device 330 is linked with afourth VAV device annotation 331. Embodiments using lines such as thatshown in example display 322 can allow users to avoid confusion ininstances where there are multiple annotations in a confined space.

FIG. 4 illustrates another example display 432 of a portion of anannotated 3D display in accordance with one or more embodiments of thepresent disclosure. Display 432 illustrates a different view thandisplay 214, previously described in connection with FIG. 2, and display322, previously described in connection with FIG. 3.

The example display 432 illustrated in FIG. 4 shows an embodimentwherein annotations are enclosed in rectangles. For instance, theexample display 432 includes a first door annotation 434, a VAV deviceannotation 436, a second door annotation 438, and a third doorannotation 440. Enclosing annotations in rectangles can allow theannotations to be better visualized, for instance. Further, the use ofrectangles can allow embodiments of the present disclosure toexpediently correct occlusion issues prevalent in previous approaches.

FIG. 5 illustrates a flow chart 542 associated with annotating a 3Ddisplay in accordance with one or more embodiments of the presentdisclosure. The steps of the flow chart 542 can be performed by acomputing device (e.g., computing device 102, previously described inconnection with FIG. 1), for instance.

Though not shown in FIG. 5, flow chart 542 can include displaying aparticular view of a 3D model of a facility, the 3D model including aplurality of objects, each object associated with a respectiveannotation. Further, the plurality of annotations can be prioritizedaccording to a context associated with the 3D model. That is, which(e.g., which type of) annotations are to be displayed can be determinedaccording to the context.

Of the prioritized annotations, a subset of annotations can bedetermined that are associated with objects visible in the particularview. As previously discussed, if an object is not visible in aparticular view, its annotation may not be displayed in someembodiments. Accordingly, flow chart 542 can be considered to onlyinclude annotations (e.g., a plurality of annotations) that aredisplayed in accordance with context and in accordance with objects thatare visible (e.g., in the current view). It is noted that the steps ofFIG. 5 are, in part, illustrated by the example annotations shown inFIGS. 6A-6D.

At block 544, a respective occlusion weight for each annotation of theplurality of annotations can be determined. An occlusion weight can be anumber of annotations occluding (or occluded by) a particularannotation. Occlusions can be total occlusions and/or partialocclusions. At block 546, the plurality of annotations can be sortedaccording to the respective occlusion weights.

At block 548, an occlusion tree can be determined according to anannotation of the plurality of annotations having a highest occlusionweight (e.g., highest weight node). The occlusion tree can be arelational mapping of annotations that occlude other annotations. Atblock 550, the annotation of the plurality of annotations having thehighest occlusion weight can be selected and deemed A_(h), for instance.

At block 552, an occluded annotation that is occluded by the annotationof the plurality of annotations having the highest occlusion weight canbe determined. Such an annotation can be deemed a “child node,”A_(child), of A_(h).

At block 554, a determination can be made regarding whether the occludedannotation (A_(child)) can be offset based on the annotation of theplurality of annotations having the highest occlusion weight (A_(h)).The determination can include determining whether such an offset wouldcause another (e.g., new) occlusion, for instance.

A direction of the offset can be determined based on the occlusion tree,for instance. A direction of the offset can be determined based on arelationship (e.g., distance, orientation, direction, etc.) between acenter of the occluded annotation (e.g., a rectangle around the occludedannotation) and a center of the annotation having the highest occlusion(e.g., a rectangle around the annotation having the highest occlusion).

If the occluded annotation (A_(child)) can be offset, the offset resultfor the occluded annotation can be retained at block 556. That is,responsive to a determination that offsetting the occluded annotationwill not cause the occluded annotation to occlude any other annotationof the plurality of annotations, the occluded annotation can be offset.

If offsetting the occluded annotation will cause the occluded annotationto occlude any other annotation, the occluded annotation can be dimmedat block 558. Dimming can reduce a brightness of the occludedannotation, for instance. In some embodiments, the brightness can bereduced by a particular amount.

At block 560, a determination is made regarding whether any other (e.g.,all) highest-weight annotations have had their respective occludedannotations offset and/or dimmed. If so, flow chart 542 ends at block562. If any other highest-weight annotations have occluded annotationsassociated therewith, flow chart 542 can return to block 550, forinstance.

FIGS. 6A-6D illustrate example annotations displayed according to theflow chart illustrated in FIG. 5. FIGS. 6A-6D include a first annotationVAV-1-19-12 664 (hereinafter referred to as “VAV12 664”); a secondannotation VAV-1-19-10 (hereinafter referred to as “VAV10 666”); a thirdannotation VAV-1-19-18 (hereinafter referred to as “VAV18 668); and afourth annotation VAV-1-19-13 (hereinafter referred to as “VAV13 670”).

FIG. 6A illustrates example annotations displayed in a particular viewof a 3D display in accordance with one or more embodiments of thepresent disclosure. As shown in FIG. 6A, VAV10 666 occludes each ofVAV12 664, VAV18 668, and VAV13 670. Accordingly, an occlusion weight ofVAV10 666 can be determined to be 3. Because each of VAV12 664, VAV18668, and VAV13 670 are occluded by only one other annotation (VAV10666), they can each be determined to have an occlusion weight of 1.

FIG. 6B illustrates an occlusion tree using the example annotations ofFIG. 6A in accordance with one or more embodiments of the presentdisclosure. As shown, VAV10 666 is connected by a respective linesegment to each of VAV12 664, VAV18 668, and VAV13 670. The amount ofconnections to other annotations that a particular annotation has in itsocclusion tree can allow the visualization and/or determination of anocclusion weight for that annotation, for instance.

FIG. 6C illustrates offset directions for the example annotations ofFIG. 6A in accordance with one or more embodiments of the presentdisclosure. As previously discussed, an offset direction can bedetermined based on the occlusion tree, for instance. An offsetdirection can be determined based on a relationship (e.g., distance,orientation, direction, etc.) between a center of the occludedannotation (e.g., a rectangle around the occluded annotation) and acenter of the annotation having the highest occlusion weight (e.g., arectangle around the annotation having the highest occlusion weight).

As shown in FIG. 6C, lines (e.g., rays) pointing away from the center ofVAV10 666 can indicate offset directions for VAV12 664, VAV18 668, andVAV13. In some embodiments, an offset distance can be a minimum distanceof offset such that the occlusion is corrected. In other embodiments, anoffset distance can include ensuring the existence of a particular spaceand/or distance between the annotation rectangles such that followingthe offset the rectangles are separated for purposes of readabilityand/or clarity. That is, some embodiments can offset the occludedannotation by a particular distance such that a particular space isdisplayed between the offset occluded annotation and the annotation ofthe plurality of annotations having the highest occlusion weight.

FIG. 6D illustrates modification of display aspects of the exampleannotations of FIG. 6A in accordance with one or more embodiments of thepresent disclosure. In some embodiments, modification of display aspectsof annotations can include dimming annotations. In other embodiments,modification of display aspects can include offsetting annotations.

As shown in the example illustrated in FIG. 6D, VAV12 664 and VAV18 668have been offset. Accordingly, VAV12 664 and VAV18 668 no longer occludeVAV10 666. Though not shown for purposes of clarity, the presence of anadditional annotation located adjacent to (e.g., to the right of) VAV13670 would have caused VAV13 670 to occlude the additional annotation hadVAV13 670 been offset. Accordingly, VAV13 670 is displayed as dimmed andhas not been offset.

Although specific embodiments have been illustrated and describedherein, those of ordinary skill in the art will appreciate that anyarrangement calculated to achieve the same techniques can be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments of thedisclosure.

It is to be understood that the above description has been made in anillustrative fashion, and not a restrictive one. Combination of theabove embodiments, and other embodiments not specifically describedherein will be apparent to those of skill in the art upon reviewing theabove description.

The scope of the various embodiments of the disclosure includes anyother applications in which the above structures and methods are used.Therefore, the scope of various embodiments of the disclosure should bedetermined with reference to the appended claims, along with the fullrange of equivalents to which such claims are entitled.

In the foregoing Detailed Description, various features are groupedtogether in example embodiments illustrated in the figures for thepurpose of streamlining the disclosure. This method of disclosure is notto be interpreted as reflecting an intention that the embodiments of thedisclosure require more features than are expressly recited in eachclaim.

Rather, as the following claims reflect, inventive subject matter liesin less than all features of a single disclosed embodiment. Thus, thefollowing claims are hereby incorporated into the Detailed Description,with each claim standing on its own as a separate embodiment.

What is claimed:
 1. A method for annotating a three-dimensional (3D)display, comprising: displaying, by a computing device, a particularview of a 3D model of a facility, the 3D model including a plurality ofobjects, each object associated with a respective annotation;determining a context associated with the 3D model; and displaying asubset of the plurality of annotations associated with a respectivesubset of the plurality of objects based on the context.
 2. The methodof claim 1, wherein determining the context associated with the 3D modelincludes determining a portion of the plurality of objects visible inthe particular view.
 3. The method of claim 1, wherein determining thecontext associated with the 3D model includes receiving information froma subsystem of a building management system associated with thefacility.
 4. The method of claim 3, wherein the method includesdetermining an abnormal status associated with the subsystem based onthe received information, and wherein the subset of the plurality ofobjects includes at least one object associated with the subsystem. 5.The method of claim 1, wherein determining the context associated withthe 3D model includes receiving an indication, made by a user,associated with a particular portion of the 3D model.
 6. The method ofclaim 5, wherein the indication is made by an actuation of an inputdevice.
 7. The method of claim 5, wherein the indication is made by aninput device remaining within the particular portion of the 3D model fora period of time exceeding a particular time threshold.
 8. The method ofclaim 1, wherein the method includes: determining whether a particularobject of the plurality of objects is visible in the particular view;and not displaying an annotation associated with the particular objectresponsive to a determination that the object is not visible in theparticular view.
 9. The method of claim 1, wherein the method includesdimming an annotation of the plurality of annotations not included inthe subset of the plurality of annotations associated with therespective subset of the plurality of objects based on the context. 10.The method of claim 1, wherein the method includes determining a colorof a particular object of the subset of the plurality of objects anddisplaying an annotation associated with the particular object using thecolor.
 11. A computing device for annotating a three-dimensional (3D)display, comprising: a memory; and a processor configured to executeinstructions stored on the memory to: display a particular view of a 3Dmodel of a facility, the 3D model including a plurality of objects, eachobject associated with a respective annotation; prioritize the pluralityof annotations according to a context associated with the 3D model;determine a subset of the prioritized plurality of annotationsassociated with objects visible in the particular view; and display thesubset of the prioritized plurality of annotations such that eachannotation of the subset of the prioritized plurality of annotationsdoes not occlude another annotation of the subset of the prioritizedplurality of annotations.
 12. The computing device of claim 11, whereinthe processor is configured to execute instructions stored on the memoryto: determine a respective occlusion weight for each annotation of thesubset of the prioritized plurality of annotations; sort the subset ofthe prioritized plurality of annotations according to the respectiveocclusion weights; determine an occlusion tree according to anannotation of the subset of the prioritized plurality of annotationshaving a highest occlusion weight; and modify a display aspect of anannotation of the subset of the prioritized plurality of annotations nothaving the highest occlusion weight.
 13. The computing device of claim12, wherein the instructions stored on the memory to modify the displayaspect of the annotation of the subset of the prioritized plurality ofannotations not having the highest occlusion weight include instructionsto dim the annotation of the subset of the prioritized plurality ofannotations not having the highest occlusion weight.
 14. The computingdevice of claim 12, wherein the instructions stored on the memory tomodify a display aspect of the annotation of the subset of theprioritized plurality of annotations not having the highest occlusionweight include instructions to offset the annotation of the subset ofthe prioritized plurality of annotations not having the highestocclusion weight.
 15. The computing device of claim 14, wherein theinstructions to offset the annotation of the subset of the prioritizedplurality of annotations not having the highest occlusion weight includeinstructions to display a line connecting the annotation of the subsetof the prioritized plurality of annotations not having the highestocclusion weight with an object associated with the annotation of thesubset of the prioritized plurality of annotations not having thehighest occlusion weight.
 16. A non-transitory computer-readable mediumhaving instructions stored thereon executable by a processor to: cause adisplay of a particular view of a 3D model of a facility, the 3D modelincluding a plurality of objects, each object associated with arespective annotation; determine a respective occlusion weight for eachannotation of the plurality of annotations; sort the plurality ofannotations according to the respective occlusion weight; determine anocclusion tree according to an annotation of the plurality ofannotations having a highest occlusion weight; determine an occludedannotation that is occluded by the annotation of the plurality ofannotations having the highest occlusion weight; and offset the occludedannotation responsive to a determination that offsetting the occludedannotation will not cause the occluded annotation to occlude any otherannotation of the plurality of annotations.
 17. The computer-readablemedium of claim 16, wherein the instructions include instructionsexecutable by the processor to dim the occluded annotation responsive toa determination that offsetting the occluded annotation will cause theoccluded annotation to occlude any other annotation of the plurality ofannotations.
 18. The computer-readable medium of claim 16, wherein theinstructions include instructions executable by the processor to offsetthe occluded annotation in a particular direction determined based, atleast in part, on a relationship between a center of the occludedannotation and a center of the annotation having the highest occlusionweight.
 19. The computer-readable medium of claim 16, wherein theinstructions include instructions executable by the processor to offsetthe occluded annotation by a particular distance such that a particularspace is displayed between the offset occluded annotation and theannotation of the plurality of annotations having the highest occlusionweight.
 20. The computer-readable medium of claim 16, wherein theinstructions include instructions executable by the processor to displayeach of the plurality of annotations enclosed in a respective rectangle.